================================================================================
ORDER ITEMS VIEWER (Просмотр товаров заказа)
================================================================================

Автономная веб-страница для CS-Cart 4.x

Позволяет быстро открыть список товаров любого заказа через закладку браузера.
Удобно для оперативной работы - открыл, скопировал, закрыл.

Не требует установки модулей - просто загрузите PHP-файл на сервер.

================================================================================
ОПИСАНИЕ
================================================================================

Простая страница с формой, которая показывает:
• Список последних 20 заказов (кликабельный)
• Поле для ручного ввода номера заказа
• Таблицу товаров выбранного заказа
• Информацию о доставке и итоговой сумме
• Опцию распределения доставки на последний товар
• Кнопку копирования в буфер обмена

Идеально подходит для:
• Быстрого просмотра состава заказа
• Копирования данных для бухгалтерии
• Работы в отдельном маленьком окне браузера
• Добавления в закладки для мгновенного доступа

================================================================================
УСТАНОВКА
================================================================================

1. Откройте файл order_items.php в текстовом редакторе

2. Найдите строки с настройками подключения к БД и укажите свои данные:

   $db_host = 'localhost';              // обычно localhost
   $db_name = 'your_database_name';     // имя БД (например: cu00302_grimnew)
   $db_user = 'your_username';          // пользователь БД
   $db_pass = 'your_password';          // пароль БД
   $table_prefix = 'cscart_';           // префикс таблиц (обычно cscart_)

3. Сохраните файл в кодировке UTF-8 без BOM

4. Загрузите файл на сервер в корень сайта:
   
   https://ваш-сайт.ru/order_items.php

5. Добавьте страницу в закладки браузера для быстрого доступа

================================================================================
ИСПОЛЬЗОВАНИЕ
================================================================================

Вариант 1: Выбор из списка
---------------------------
1. Откройте страницу https://ваш-сайт.ru/order_items.php
2. Кликните на нужный заказ из списка последних 20
3. Список товаров загрузится справа
4. Нажмите "Скопировать товары"

Вариант 2: Ручной ввод номера
------------------------------
1. Откройте страницу
2. Внизу введите номер заказа в поле
3. Нажмите "OK"
4. Скопируйте товары

Опция "Включить доставку в последний товар"
-------------------------------------------
• Отметьте галочку перед копированием
• Доставка будет разделена на количество последнего товара
• Сумма округлится вверх и добавится к цене товара
• Доставка отобразится зачёркнутой
• Показывается старый и новый ИТОГО

================================================================================
ФОРМАТ ВЫВОДА
================================================================================

Данные копируются в формате:
  Наименование<TAB>Количество<TAB>Цена<NEWLINE>

Пример:
  Товар ABC 250мл	10	700.00
  Товар XYZ прозрачный 10мл	5	600.00
  Товар 123 для теста 40г	3	750.00

Удобно вставлять в:
• Microsoft Excel
• Google Sheets
• LibreOffice Calc
• 1С Бухгалтерия
• Любой текстовый редактор

================================================================================
ИНТЕРФЕЙС
================================================================================

Страница разделена на две колонки:

Левая панель (250px):
  • Список последних 20 заказов
  • Активный заказ подсвечивается синим
  • Форма ручного ввода номера внизу

Правая панель (400px):
  • Номер заказа
  • Текстовое поле со списком товаров
  • Блок с доставкой и итогом
  • Галочка опции
  • Кнопка копирования

Дизайн компактный - страница занимает ~900px по ширине.
Удобно открывать в маленьком окне или боковой панели браузера.

================================================================================
ТЕХНИЧЕСКИЕ ДЕТАЛИ
================================================================================

Требования:
  • PHP 7.0+
  • Доступ к БД CS-Cart
  • Стандартные таблицы CS-Cart:
    - cscart_orders
    - cscart_order_details

Используемые таблицы БД:
  • cscart_orders - информация о заказах
  • cscart_order_details - товары в заказе (поле extra с сериализованными данными)

Безопасность:
  • Все SQL-запросы используют prepared statements (защита от SQL-инъекций)
  • Номер заказа приводится к integer
  • HTML-вывод экранируется через htmlspecialchars()
  • Данные товаров извлекаются из поля extra (сериализованный массив)

JavaScript:
  • Без зависимостей (нативный JS)
  • Использует Clipboard API с fallback на document.execCommand()
  • Визуальная индикация успешного копирования (галочка на 1.5 сек)

Кодировка:
  • Файл: UTF-8 без BOM
  • БД: UTF-8 (charset=utf8mb4)
  • HTML: UTF-8

================================================================================
БЕЗОПАСНОСТЬ И ДОСТУП
================================================================================

ВАЖНО! Файл не защищён авторизацией!

Рекомендации:
  • Используйте сложный пароль БД
  • Не публикуйте ссылку на файл publicly
  • Можно добавить HTTP Basic Auth через .htaccess
  • Или переименовать файл в случайное имя (например: order_a8f3k2s.php)
  • Или защитить IP-адресом через .htaccess

Пример защиты через .htaccess:
------------------------------
<Files "order_items.php">
    AuthType Basic
    AuthName "Access denied"
    AuthUserFile /home/путь/.htpasswd
    Require valid-user
</Files>

================================================================================
УДАЛЕНИЕ
================================================================================

Просто удалите файл order_items.php с сервера через FTP/SSH/файловый менеджер.

================================================================================
ВОЗМОЖНЫЕ ПРОБЛЕМЫ
================================================================================

Проблема: "Ошибка подключения"
Решение: Проверьте настройки подключения к БД (хост, имя, пользователь, пароль)

Проблема: "Заказ не найден"
Решение: Проверьте префикс таблиц ($table_prefix), возможно он не cscart_

Проблема: Вместо названий товаров - коды
Решение: В поле extra нет данных о товаре, проверьте структуру таблицы

Проблема: Кракозябры вместо русских букв
Решение: Пересохраните файл в кодировке UTF-8 без BOM
